\hypertarget{structnih_1_1_octree__node__base}{
\section{nih\-:\-:\-Octree\-\_\-node\-\_\-base \-Struct \-Reference}
\label{structnih_1_1_octree__node__base}\index{nih\-::\-Octree\-\_\-node\-\_\-base@{nih\-::\-Octree\-\_\-node\-\_\-base}}
}


{\ttfamily \#include $<$octree.\-h$>$}

\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structnih_1_1_octree__node__base_a0b6a034d0fa0269866883ac53b391ea9}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E \hyperlink{structnih_1_1_octree__node__base_a0b6a034d0fa0269866883ac53b391ea9}{\-Octree\-\_\-node\-\_\-base} ()}
\label{structnih_1_1_octree__node__base_a0b6a034d0fa0269866883ac53b391ea9}

\begin{DoxyCompactList}\small\item\em empty constructor \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node__base_a15b50dd5321adcc53f2803081c1d1168}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E \hyperlink{structnih_1_1_octree__node__base_a15b50dd5321adcc53f2803081c1d1168}{\-Octree\-\_\-node\-\_\-base} (const uint32 leaf\-\_\-index)}
\label{structnih_1_1_octree__node__base_a15b50dd5321adcc53f2803081c1d1168}

\begin{DoxyCompactList}\small\item\em leaf constructor \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node__base_a9a2ebc5537988bf811a3e2714597190b}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E \hyperlink{structnih_1_1_octree__node__base_a9a2ebc5537988bf811a3e2714597190b}{\-Octree\-\_\-node\-\_\-base} (const uint32 mask, const uint32 index)}
\label{structnih_1_1_octree__node__base_a9a2ebc5537988bf811a3e2714597190b}

\begin{DoxyCompactList}\small\item\em full constructor \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node__base_a313f30f552fbff26c54f4960d60034d3}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E bool \hyperlink{structnih_1_1_octree__node__base_a313f30f552fbff26c54f4960d60034d3}{is\-\_\-leaf} () const }
\label{structnih_1_1_octree__node__base_a313f30f552fbff26c54f4960d60034d3}

\begin{DoxyCompactList}\small\item\em is a leaf? \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node__base_ad51a440a9e3c78f5fc77eac0352a9f41}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E void \hyperlink{structnih_1_1_octree__node__base_ad51a440a9e3c78f5fc77eac0352a9f41}{set\-\_\-child\-\_\-mask} (const uint32 mask)}
\label{structnih_1_1_octree__node__base_ad51a440a9e3c78f5fc77eac0352a9f41}

\begin{DoxyCompactList}\small\item\em set the 8-\/bit mask of active children \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node__base_a3cbd389263908d8da587af192bd26ee8}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E uint32 \hyperlink{structnih_1_1_octree__node__base_a3cbd389263908d8da587af192bd26ee8}{get\-\_\-child\-\_\-mask} () const }
\label{structnih_1_1_octree__node__base_a3cbd389263908d8da587af192bd26ee8}

\begin{DoxyCompactList}\small\item\em get the 8-\/bit mask of active children \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node__base_a44afd7c67aee4e6c99f30f5f36be3b19}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E bool \hyperlink{structnih_1_1_octree__node__base_a44afd7c67aee4e6c99f30f5f36be3b19}{has\-\_\-child} (const uint32 i) const }
\label{structnih_1_1_octree__node__base_a44afd7c67aee4e6c99f30f5f36be3b19}

\begin{DoxyCompactList}\small\item\em check whether the i-\/th child exists \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node__base_a445c05a1dad7940e72f5e3560e2455c8}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E void \hyperlink{structnih_1_1_octree__node__base_a445c05a1dad7940e72f5e3560e2455c8}{set\-\_\-child\-\_\-offset} (const uint32 child)}
\label{structnih_1_1_octree__node__base_a445c05a1dad7940e72f5e3560e2455c8}

\begin{DoxyCompactList}\small\item\em set the offset to the first child \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node__base_a4f8cb62de288321daa16596a3988e12f}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E uint32 \hyperlink{structnih_1_1_octree__node__base_a4f8cb62de288321daa16596a3988e12f}{get\-\_\-child\-\_\-offset} () const }
\label{structnih_1_1_octree__node__base_a4f8cb62de288321daa16596a3988e12f}

\begin{DoxyCompactList}\small\item\em get the offset to the first child \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node__base_afaf0c44101283dfff35ff05539972624}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E uint32 \hyperlink{structnih_1_1_octree__node__base_afaf0c44101283dfff35ff05539972624}{get\-\_\-leaf\-\_\-index} () const }
\label{structnih_1_1_octree__node__base_afaf0c44101283dfff35ff05539972624}

\begin{DoxyCompactList}\small\item\em get leaf index \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node__base_a064a601aef2351dadaa9a385d36da7d5}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E uint32 \hyperlink{structnih_1_1_octree__node__base_a064a601aef2351dadaa9a385d36da7d5}{get\-\_\-child\-\_\-count} () const }
\label{structnih_1_1_octree__node__base_a064a601aef2351dadaa9a385d36da7d5}

\begin{DoxyCompactList}\small\item\em return the number of children \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node__base_a11465fd5de6e933a4e3018d2b7502a48}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E uint32 \hyperlink{structnih_1_1_octree__node__base_a11465fd5de6e933a4e3018d2b7502a48}{get\-\_\-child} (const uint32 i) const }
\label{structnih_1_1_octree__node__base_a11465fd5de6e933a4e3018d2b7502a48}

\begin{DoxyCompactList}\small\item\em get the index of the i-\/th child (among the active ones) \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node__base_a9d70c9b58ab2834d18bf034b1ffc1e02}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E uint32 \hyperlink{structnih_1_1_octree__node__base_a9d70c9b58ab2834d18bf034b1ffc1e02}{get\-\_\-octant} (const uint32 i) const }
\label{structnih_1_1_octree__node__base_a9d70c9b58ab2834d18bf034b1ffc1e02}

\begin{DoxyCompactList}\small\item\em get the index of the i-\/th octant. returns k\-Invalid for non-\/active children. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{\-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structnih_1_1_octree__node__base_ac966c44090fa40fa5bbcb4763a1caa7f}{
uint32 {\bfseries m\-\_\-packed\-\_\-info}}
\label{structnih_1_1_octree__node__base_ac966c44090fa40fa5bbcb4763a1caa7f}

\end{DoxyCompactItemize}
\subsection*{\-Static \-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structnih_1_1_octree__node__base_af2fecba21029dfb0ebfea1313d36727e}{
static const uint32 {\bfseries k\-Invalid} = uint32(-\/1)}
\label{structnih_1_1_octree__node__base_af2fecba21029dfb0ebfea1313d36727e}

\end{DoxyCompactItemize}


\subsection{\-Detailed \-Description}
\-Implements a basic octree node class, which stores up to 8 children per node, and uses a bit-\/mask to determine which of the 8 slots is actualy in use. \-The active children are stored consecutively relative to a base offset. 

\-The documentation for this struct was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\-C\-:/p4research/research/jpantaleoni/nih/octree/\hyperlink{octree_8h}{octree.\-h}\item 
\-C\-:/p4research/research/jpantaleoni/nih/octree/octree\-\_\-inline.\-h\end{DoxyCompactItemize}
